Intelligent resource state memory recall

ABSTRACT

Intelligent resource state memory recall techniques, and associated apparatus and methods, are disclosed. States of one or more video switcher resources in a resource state memory may be recalled to the same or different resources, depending on resource availability at the time of memory recall. A memory recall need not affect an on air signal. The memory may be recalled to recreate a desired program output, as defined in the memory, on a preview output of the video switcher, which leaves a current program output of the video switcher undisturbed when the memory is recalled.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication Ser. No. 61/170,317, entitled “INTELLIGENT RESOURCE STATEMEMORY RECALL”, filed Apr. 17, 2009, the entire contents of which areincorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to the video production industry and,in particular, to intelligent recall of resource state memories in avideo switcher.

BACKGROUND

Operation of a video production switcher can be very complex, as thereare often a large number of resources which are set to specific statesto create a desired on-air effect. Thus, recreating an effect manuallycan be a time-consuming and error-prone task. Switchers often provideeffects memories, as disclosed in U.S. Pat. No. 4,205,344, for example.An effects memory (or “memory” or “E-Mem” as it is also known), is asnapshot of the state of resources within an entire switcher or adefined subset of those resources, and may be considered a form of avideo state or a “look” of a video output and/or audio output or“program”.

Prior implementations of memories, as well as timelines and macros, arevery useful tools to a user, allowing many complex video operations tobe simplified into a small number of simple actions by the user.However, these tools tend not to be very flexible.

When a memory is recalled, it will completely replace the state ofresources in the switcher or the subset of the switcher to which it hasbeen recalled. This will remove any elements that were currently set up,either on-air or off-air, and replace them with those elements definedin the memory, affecting their on-air state. This is undesirable if auser wishes to recall a memory and then cleanly transition (using, forexample, a dissolve, wipe or DVE effect) to the new settings. Currentsettings are instead instantaneously changed to the recalled settings.

Although a user may, in some switchers, set memory attributes toselectively recall desired subsets of a switcher or Multi-Level Effectsdevice (MLE), the user must anticipate which resources are available atthe time the memory, macro, or timeline is created. For example, if auser is currently using a chroma key on key 1, and wishes to recallanother effect using a memory, the user must have previously built theeffect into a memory on a keyer other than key 1, and set theappropriate memory attributes to recall the memory only to thepreviously-determined keyer. This is undesirable, for several reasons.First, it requires the user to anticipate which keyer may be availableat recall time when the user is building and storing the memory.Secondly, it requires the user manually set attributes to control thespecific subset of the switcher to recall. Thirdly, it does not allowfor the user to preview the recalled memory before recalling it to air.Fourthly, some implementations map specific resources to fixed visuallayers, wherein, for example, an element on key 2 always appears on topof an element on key 1. Selectively recalling using a memory attributeis limited in that the layering priority cannot be manipulated in theprocess of recalling the memory to a subset of the switcher, so thedesired layering priority may not be achieved.

Some implementations allow effects stored in one MLE to be recalled to adifferent MLE, as disclosed in U.S. Pat. No. 6,437,831, for example.This can, in a limited fashion, allow a user to recall an effect whichcan be previewed on the switcher prior to bringing it on-air. However,this is limiting in that complete MLE banks must be recalled, and theuser must pre-select which MLE will be used to recall the effect.Furthermore, this approach requires multiple MLE banks to perform thisaction. Since an MLE often employs multiple resources to create acomplex effect, this approach is unsuitable when a smaller subset ofresources is required, as the user must recall the inter-relatedresources to an MLE.

A further limitation of current video switcher technology is that smallsystems may have only 1 MLE and a memory recall will instantly replaceall settings on the switcher. If the user wishes to perform a dynamiceffect to transition from the previous state to the state defined withinthe memory, then they will be unable to do this. The method disclosed inU.S. Pat. No. 6,437,831 cannot be applied to a system having only 1 MLE.

Although “recall to preview” does, in some limited situations, allow amemory to be recalled to a subset of the switcher without disturbing theon-air output, it still requires the user to anticipate which resourceswill be available when the memory is recalled. Recall to preview willnot recall the states of any resources that are on-air in the switcherstate prior to the recall, so if the desired switcher memory uses, forexample, key 1 when key 1 is already on-air, the state of key 1 will notbe recalled. In this example, the user would have had to anticipate thatkey 1 would have been in use and stored the effect using a differentkeyer. Recall to preview also requires the user to anticipate how theywish to transition from the on-air state to the state recalled in thememory. The user must either program this into the memory or manuallymanipulate the transition controls on the control panel to cleanlytransition to the newly recalled state.

SUMMARY

According to an aspect of the invention, an apparatus comprises: a datastore for storing a resource state memory representing a state of aresource of a video switcher, the video switcher comprising a pluralityof the resources; and

a resource mapping module that determines availability of the resourcewhen the resource state memory is to be recalled from the data store,and maps the state of the resource in the memory to another resource ofthe plurality of resources where the resource is unavailable and theother resource is available.

In some embodiments, the resource mapping module determines availabilityof the plurality of resources when the resource state memory is to berecalled from the data store.

In some embodiments, the resource mapping module determines that theresource is unavailable where the resource is in use or on air.

In some embodiments, the resource mapping module further determines alayering priority associated with the state of the resource in thememory, and sets a layering order of the other resource to match thelayering order of the state of the resource in the memory where thestate of the resource in the memory is mapped to the other resource.

In some embodiments, the plurality of resources comprises MLEs, keyers,wipe generators, crosspoints, or other types of video and/or audioprocessing elements.

In some embodiments, the video switcher comprises respective sets ofdifferent types of resources, the data store is for storing resourcestate memories each representing states of resources of one or more ofthe different types of resources, and the resource mapping moduledynamically maps states of resources in the memories for each type ofresource of a set comprising multiple resources.

In some embodiments, the apparatus further comprises: a memory recallmodule, operatively coupled to the data store and to the resourcemapping module, that recalls the resource state memory such that thestate of the resource in the memory is recalled to an available one ofthe plurality of resources, and the available one of the plurality ofresources remains off air.

In some embodiments, the state of the resource in the memory isassociated with a desired program output of the video switcher, and thememory recall module recalls the resource state memory to recreate thedesired program output on a preview output of the video switcher,whereby a current program output of the video switcher is undisturbedwhen the resource state memory is recalled.

In some embodiments, the apparatus further comprises: a transitionmodule, operatively coupled to the program output of the video switcher,that configures settings of the video switcher for a next transition ina manner that prepares the video switcher to transition the recalledresource state memory to the program output.

In some embodiments, the apparatus further comprises: a memory recallmodule, operatively coupled to the data store and to the resourcemapping module, that recalls the resource state memory; and a macrorecall module, operatively coupled to the resource mapping module and tothe memory recall module, that recalls a macro. The resource mappingmodule or the memory recall module provides feedback to the macro recallmodule during execution of the macro to adapt execution of events in themacro, which are associated with the resource, to the other resourcewhere the state of the resource in the memory is mapped to the otherresource.

In some embodiments, the resource state memory comprises one of aplurality of resource state memories representing keyframes of atimeline, and the resource mapping module maps states in the memories toavailable resources of the video switcher for each keyframe.

In some embodiments, the apparatus further comprises: a memory recallmodule, operatively coupled to the data store and to the resourcemapping module, that recalls the plurality of resource state memories;and a timeline recall module, operatively coupled to the resourcemapping module and to the memory recall module, that recalls thetimeline. The resource mapping module or the memory recall moduleprovides feedback to the timeline recall module to adapt execution ofevents and recall of subsequent keyframes in the timeline, which areassociated with particular resources, to the available resources.

In some embodiments, the apparatus further comprises: a user interfacethat enables a user to reserve one or more resources of the plurality ofresources, the one or more reserved resources being unavailable formapping by the resource mapping module, to lock the resource such thatthe state of the resource in the memory is recalled only to theresource, and/or to override mapping of the state of the resource in thememory by the resource mapping module.

In some embodiments, reservation of the one or more resources and/orlocking of the resource are configurable globally, for application tospecific subsets of the video switcher, and/or as a memory attributespecific to the resource state memory.

In some embodiments, the apparatus further comprises: an externalinterface that enables feedback regarding recall of the resource statememory to be provided to one or more of: a remote control system and anautomation system.

In some embodiments, the apparatus further comprises: a user interfacethat enables feedback regarding recall of the resource state memory tobe provided to a user, and the feedback comprises one or more of: anindication that the state of the resource in the memory is mapped to theother resource; an indication that the state of the resource could notbe recalled; and an indication, prior to recall of the resource statememory, of the ability to recall the resource state memory.

In some embodiments, the apparatus further comprises: a logging modulethat provides information regarding mapping of the state in the memoryto a resource or plurality of resources.

In some embodiments, the apparatus further comprises: a logging modulethat provides information regarding any or all of: mapping of the statein the memory to the resource, the one or more reserved resources,locking of the resource, and user override of mapping of the state ofthe resource in the memory by the resource mapping module.

In some embodiments, the video switcher is a video production switcher,a master control switcher, or a stand-alone keyer.

In some embodiments, the resource mapping module sub-divides theresource state memory into a plurality of resource state memories formultiple resources.

A method is also provided, and comprises: storing a resource statememory representing a state of a resource of a video switcher, the videoswitcher comprising a plurality of the resources; determiningavailability of the resource when the resource state memory is to berecalled; and mapping the state of the resource in the memory to anotherresource of the plurality of resources where the resource is unavailableand the other resource is available.

In some embodiments, the method further comprises: determiningavailability of the plurality of resources when the resource statememory is to be recalled.

In some embodiments, the resource state memory comprises one of aplurality of resource state memories representing keyframes of atimeline, and mapping comprises mapping states in the memories toavailable resources of the video switcher for each keyframe.

In some embodiments, the method further comprises: providing feedback toadapt execution of events and recall of subsequent keyframes in thetimeline, which are associated with particular resources, to theavailable resources.

In some embodiments, the method further comprises: providing a userinterface that enables a user to reserve one or more resources of theplurality of resources, the one or more reserved resources beingunavailable for mapping, to lock the resource such that the state of theresource in the memory is recalled only to the resource, and/or tooverride mapping of the state of the resource in the memory.

In some embodiments, the method further comprises: providing feedbackregarding recall of the resource state memory to a user. The feedbackmay include one or more of: an indication that the state of the resourcein the memory is mapped to the other resource; an indication that thestate of the resource could not be recalled; and an indication, prior torecall of the resource state memory, of the ability to recall theresource state memory.

A method may be embodied, for example, in an article of manufacture inthe form of a non-transitory computer-readable storage medium storinginstructions which, when executed by a computer, cause the computer toperform the method.

An apparatus according to another aspect of the invention comprises: adata store for storing a resource state memory representing respectivestates of one or more resources of a video switcher to create a desiredprogram output of the video switcher; and a memory recall module thatrecalls the resource state memory to the video switcher to recreate thedesired program output on a preview output of the video switcher,whereby a current program output of the video switcher is undisturbedwhen the resource state memory is recalled.

In some embodiments, the video switcher comprises a transition controlthat enables a user to control an on air transition from the currentprogram output to the desired program output.

In some embodiments, the transition control comprises one or more of: abutton, a fader handle, an interface enabling remote GPI, and aninterface enabling remote automation.

In some embodiments, the resource state memory comprises one of aplurality of resource state memories representing keyframes of atimeline, and the memory recall module recalls the memories to the videoswitcher for each keyframe.

The apparatus could also include a transition module, operativelycoupled to the program output of the video switcher, that configuressettings of the video switcher for a next transition in a manner thatprepares the video switcher to transition the recalled resource statememory to the program output.

There is also provided a method comprising: storing a resource statememory representing respective states of one or more resources of avideo switcher to create a desired program output of the video switcher;and recalling the resource state memory to the video switcher torecreate the desired program output on a preview output of the videoswitcher, whereby a current program output of the video switcher isundisturbed when the resource state memory is recalled.

The method might also involve configuring settings of the video switcherfor a next transition in a manner that prepares the video switcher totransition the recalled resource state memory to the program output.

Such a method may be embodied, for example, in an article of manufacturein the form of a non-transitory computer-readable storage medium storinginstructions which, when executed by a computer, cause the computer toperform the method.

Other aspects and features of embodiments of the present invention willbecome apparent to those ordinarily skilled in the art upon review ofthe following description.

BRIEF DESCRIPTION OF THE DRAWINGS

Examples of embodiments of the invention will now be described ingreater detail with reference to the accompanying drawings.

FIG. 1 is a top view of an example video production switcher panel.

FIG. 2 is a block diagram of an apparatus.

FIG. 3 is a flow diagram of a method.

DETAILED DESCRIPTION

Glossary of Terms

-   Aux Bus—A video output from a switcher, including either a single    video source or a supplementary program output.-   Background—A full-screen image which is placed as the bottom layer    of an output video scene. All keys are placed on top of the    background.-   Clean Feed—A program output from a switcher in which one or more of    the keys are not visible.-   Effect—A visual or audio impression produced by combining or    manipulating one or more video or audio signals.-   GPI—General Purpose Interface. An electrical interface which    triggers an event by logic level transition.-   Key—An effect produced by “cutting a hole” in the background image    or video, then filling the hole with video or matte from another    source. Key alpha video cuts the hole, key fill video fills the    hole. The video signal used for cut and fill can come from the same,    or separate, sources.-   Keyer—A circuit or processing element which performs the operation    of placing a key over a background image and optionally over other    keys.-   Keyframe—A memory within a Timeline.-   Layering—The process of combining a background with one or more    keys. Each video element (background or key) is referred to as a    layer, as each key added to the scene is added on top of, below, or    in between the previous combination of background and keys.-   Matte—A video signal consisting of one solid color throughout the    entire image.-   Memory—A snapshot of states such as settings of all controllable    elements within a switcher or a defined subset of controllable    elements within a switcher.-   MLE—Multi-Level Effects.-   Multi-Level Effects—A group of processing elements within a switcher    that work together to produce one or more video outputs. An MLE may    produce at least one program video output, but may also generate    additional video outputs, such as additional programs, one or more    previews, one or more clean feeds, and so on. An MLE includes    several crosspoint buses, one or more keyers, and may also contain    chroma keyers, wipe generators, DVEs, color correctors, and/or other    processing units, for example.-   M/E—Mix Effects. Synonymous with MLE.-   Preset Bus—A crosspoint bus that selects the background for the    preview output.-   Preview Output—A scene generated by the switcher, and provided on a    video output, which represents how the program will appear after the    next transition is performed on the switcher.-   Preview—The act of preparing a scene on the preview output of the    switcher in anticipation of transitioning this scene to program.-   Program—A scene which is the on-air output of the switcher. A    switcher may have multiple program outputs, originating from    different MLEs, auxiliary buses and/or other outputs.-   Resource—A functional element within a switcher that performs some    manner of video or audio processing to create a visual or audible    effect. Resources may be configured with a state to determine their    behaviour. Resources may be cascaded into other resources to produce    a scene.-   Scene—A video background, optionally with one or more keys layered,    optionally using one or more video effects.-   State—A setting or configuration applied to a resource.-   Transition—A controlled change from one scene to another scene. The    change can occur, for example, through a wipe, cut, dissolve or “DVE    Send” effect.    Switchers

Switchers, such as video production switchers and master controlswitchers, are devices which allow several video signals to be combinedtogether, and several audio signals to be combined together, in avariety of manners to assemble at least one program video and audiooutput. Often, different types of audio and video effects are used whenthese signals are assembled. For example, one video source may fade, or“dissolve” to another; one video source may be “wiped” to another, orone audio stream may fade out as another fades in. A switcher may alsogenerate additional video and audio outputs such as preview, clean feed,aux buses, and so on. Each of these outputs may also include multiplevideo and audio sources assembled together with various audio-visualeffects.

More advanced processing elements such as DVEs, which allow images to beresized, repositioned, rotated or manipulated in other advanced manners,may also be provided in a switcher. Switchers may also incorporateelements such as color correction, graphic management, chroma keying,motion effect processing, audio processing and so on.

A common paradigm in Switcher design is to combine groups of processingelements together into what is known as a “Multi-Level Effects” system(also known as “MLE”) or a “Mix Effects” system (also known as “M/E”).An MLE could, for example, include a wipe generator, 4 keyers, 2 chromekeyers, 2 DVEs, 4 audio correctors and 6 color correctors. Differentswitchers provide different combinations of elements, and hence allowfor different types of processing to be combined when assembling one ormore video outputs. An MLE may additionally generate one or more audiooutputs.

Switchers also provide the capability to switch or route video and/oraudio sources into each of the incorporated processing elements, andoften allow elements to be cascaded to generate more complicatedeffects. Furthermore, a switcher may allow an output from one MLE to becascaded into another MLE. These switching and cascading operations areoften referred to as “video routing” or “video switching” in the case ofvideo signals. For example, a user may wish to generate an effect wherea background video signal is fed into a color corrector, whose output isthen cascaded into key 1, wherein a second video signal is layered ontothe first. The output of key 1 may then be further cascaded into a DVEto perform a “page roll” transition, and the DVE output is subsequentlylayered on top of a “preset bus” video stream. All of these cascadingoperations can be performed by video routing elements, which may includehardware and/or components executing software, within the switcher.

A switcher may similarly provide the capability to switch or route audiosources into incorporated processing elements. Audio may be routedindependently from the video, or be embedded within a video stream.Switchers also often allow elements to be cascaded to generate morecomplicated audio effects. For example, an audio stream may be fedthrough a stereo correction element, whose output is fed into an audiomixing element wherein a second audio stream is mixed with the first.The output of this mixing element could subsequently be cascaded into anaudio mux element, wherein it is embedded into a video stream. All ofthese cascading operations can be performed by audio routing elements,which may include hardware and/or components executing software, withinthe switcher.

A user will typically use a control panel to configure the variousprocessing elements, video routing and audio routing within theswitcher. For large implementations, this generally involves a verylarge control panel with a large number of buttons, knobs, faders,joysticks, trackballs, menu systems and so on.

FIG. 1 is a top view of an example video production switcher panel. Theswitcher panel 140 in FIG. 1 includes various modules, such ascrosspoint button modules generally designated 142, MLE memory controlmodules 144, 154, 160, two-keyer transition modules 146, 152, 162,two-keyer MLE keyer modules 148, 156, 164, a four-keyer transitionmodule 168, a four-keyer MLE keyer module 170, a preview bus module 172,a global memory module 174, and a positioner module 176. Blanks whichmay be removed to accommodate additional modules are designated 150,158, 166. Other embodiments may include further, fewer, or differentmodules arranged in a similar or different manner than shown.

Memories

As noted above, an effects memory is a snapshot of the state of all or asubset of the resources within a switcher. This is distinct from astorage device (for example, Random Access Memory (RAM) or a hard disk)in which memories may be stored. Although a storage device is oftenreferred to as a memory, a memory in the context of the presentapplication refers to the state of the resources within a switcher or adefined subset of resources of the switcher, and not a physical devicein which such a memory may be stored. The states of resources in amemory in the context of the present application might indicate explicitstates and/or changes in state. A change in state, for example, mightreflect an event which is part of a macro.

By utilizing memories, a user may set up and store desired effects(MLEs, keyers, color correctors, etc), video routing, audio routing, andany other settings offered by the switcher. A memory may containsettings for any or all states for each resource within the switcher,such as chroma keyer settings, pattern wipe settings, audio correctionsettings, keyer settings and so forth. The memory may also store theon-air state of each element. For example, a memory may have informationthat key 1 and key 3 are on air, while key 2 and key 4 are off air.

The user may create many such memories, each defining a different setupof the switcher, generating different desired outputs from the switcher.A switcher may have provision for several memories to be storedsimultaneously. In the present application, “state” is intended tocapture the general notion of settings or setup of a switcher resource.Switcher resources may include any or all of video processing elements(e.g., keyers, MLEs, etc.), audio processing elements, video routingelements, and audio routing elements, for example.

A memory, when recalled, usually will modify at least one MLE within theswitcher. That is, when the memory is recalled, one or more MLEs willhave their settings replaced, in entirety, by the settings containedwithin the memory, Some implementations do provide “memory attributes”which allow a user to specify more finely which subsets of an MLE may berecalled. For example, a user may set an attribute to only recall “key1” and “key 2”, but not “key 3”, “key 4” or “wipe generator” settings.Other attribute settings may allow the user to recall “keys only”, soonly keyers are recalled, but not wipe generators, video routingselections, and so on.

Some switchers implement a function called “recall to preview”. Thisfunctionality filters the recalled memory, such that only stored statesfor resources that are currently not on-air are recalled. This allowsswitcher memories to be recalled to a subset of the switcher, withoutdisturbing the current on-air image.

Timelines

More complex effects may be generated by creating more than one memory,and recalling them in sequence over time, where the state of a resourceor plurality of resources may be interpolated between subsequentmemories. This allows dynamic, moving effects to be generated in theswitcher. This sequential sequence of memories is also known as a“timeline” or “sequence”. Each memory within a timeline is also known asa “keyframe”. Timelines may be used to recreate dynamic effects over theentire switcher or a defined subset of the switcher.

Macros

An additional method for the generation of memorized effects on aswitcher is through use of a macro. A switcher may allow a sequence ofevents (button presses, knob adjustments, menu activations, and so on)to be recorded in order. A macro may be played back at a later time torepeat the sequence of events that was previously recorded. This differsfrom memories and timelines in that memories and timelines rememberstates of the switcher (or subsets of the switcher), and a timelineallows smooth transitions from state to state within the timeline.Macros remember activities or events.

It is possible for a user to combine memories, timelines and macrostogether to create certain desired effects on the switcher. For example,a macro may record an event which is a memory or timeline recall.

Resource Mapping

According to an aspect of the invention, when a memory is recalled,available resources are evaluated. The resources might include keyerswhich are off-air, DVE channels not in use, pattern generators not inuse, and so on. The memory being recalled is then evaluated to determinewhich resources are actually required in the recalled memory. States inthe recalled memory are then mapped into the available resources, ratherthan into those resources in which they were originally defined when thememory was stored. If the states of recalled resources have a layeringpriority, the layering order of the resources that are actually utilizedfor those states will be adjusted, by Resource Mapping logic forinstance, to match the layering order of the states of the resources asdefined in the stored memory.

This resource mapping may occur at different levels of granularity. Forexample, one implementation may provide resource mapping at the MLElevel (where an effect is recalled in entirety to an available MLE),whereas other implementations may perform resource mapping at a finerresource level (keyers, wipe generators, crosspoints, and so on).

Intelligent Recall to Preview

Some embodiments of the present invention allow a user to preview arecalled memory and transition it cleanly to air. Available resources inthe switcher are analyzed and states in a recalled macro, memory, ortimeline are dynamically assigned to the available off-air resources.This adapts to the resources that are available on the switcher at thetime a memory is recalled. Furthermore, the states can be recalled toresources in an off-air state, so as to preset the system to provide asimple operation to transition the desired effect to an on-air state. Inthis embodiment, the on-air (or program) audio and video effect, asdefined in the recalled memory, is presented on a preview output, andthe transition controls in the switcher could be preset to allow thenext transition to transition cleanly to the desired effect. The type oftransition may be defined in the recalled memory, a system default oroverridden by a user control and so forth. This transition may betriggered in any of a number of different ways including, for example, abutton press, a fader handle, remote GPI, remote automation and soforth. This allows “back-to-back” effects to be recalled andtransitioned-to cleanly, even on a 1 MLE switcher.

These features can be of significant benefit to a user in that they maydesign a desired effect or program output and store this to a memory,without needing to anticipate which resources may be available at thetime at which the memory will be recalled. Thus, the user is notrequired to reconfigure the transition controls to bring the recalledeffect to an on-air state.

Macros

Another embodiment of the invention allows events and effects memoriesassociated with events within a macro to be analyzed and applied toavailable resources on a switcher through the resource mapping andintelligent recall to preview embodiments. Furthermore, a macroexecution may receive feedback from resource mapping logic to adaptevent execution and memory recall to the remapped resources whereappropriate.

For example, if at the time of execution of a macro the resource mappinglogic remaps the key 2 resource to key 1, all stored macro events thathave actions that modify states on the key 2 resource will be redirectedto the key 1 resource, providing the user with the desired effect.

Timelines

A timeline may also be recalled using the resource mapping andintelligent recall to preview embodiments. However, in this embodiment,the system additionally re-allocates the resources at each keyframe asrequired to produce the intended effects. As additional resources areintroduced in the execution of the timeline (for example, a timeline mayuse 2 keyers for the first keyframe, and introduce the use of a 3rdkeyer in a subsequent keyframe), the state each of the newly introducedelements is assigned to a resource of the available resources. Timelineexecution logic may receive feedback from the resource mapping logic toadapt timeline execution and keyframe state recall to the remappedresources where appropriate.

Configuration

A user may reserve certain resources or subsets of the switcher suchthat resource allocation logic will not allocate recalled elements tothose resources. This benefits the user in that they may be guaranteedthat the reserved resources are available at any time, regardless ofwhich memories, timelines or macros may have been recalled. For example,the user may wish to reserve a downstream keyer for specific logoinsertion purposes. The user would reserve the downstream keyer suchthat the resource allocation logic does not recall any elements to thatkeyer, thus ensuring it is available at any time for the user'spurposes.

A user may also lock specific elements within the memory, timeline ormacro to a specific resource in some embodiments, thus ensuring that theelement will always be recalled to the same resource on the switcher.This benefits the user in that it provides consistency in the operationof the unit, if that element is often manually manipulated after therecall. It may also be desirable if there are certain controls orinteractions with equipment external to the switcher, of which theswitcher and resource allocation logic has no knowledge or control. Byguaranteeing the resource to which the element is recalled, the externalequipment or controls may be configured to interact with these specificswitcher resources. For example, if a character generator operator has aremote switch to signal a keyer to bring a graphic on and off air, itcould be advantageous to ensure that the graphics are always recalled tothe keyer that the operator has control of.

The resource reservation and element locking controls discussed abovemay be either configured globally for an entire switcher, or applied tospecific subsets of the switcher. These controls can also be applied asa memory attribute, thus allowing the user to specify particularmemories with restrictions on where they must or may not recall certainelements.

Feedback

Since the resources to which elements are recalled could be modified,feedback regarding such modifications is provided to the user in someembodiments. One implementation provides a status display on a graphicaluser interface to indicate which elements were reallocated or remappedto different resources. This display might also or instead indicatewhether any elements could not be recalled if, for example, there wereinsufficient resources or a conflict between locked elements andreserved resources.

This display might also allow feedback to be provided prior to thememory, macro, or timeline being recalled, such that the user maypreview the system's ability to recall the memory, macro, or timeline.This can provide the user with an opportunity to adjust the currentstate of the system or adjust what is being recalled to meet the user'sneeds.

A further potential advantage of feedback, whether provided in a displayor some other type of user interface device, is that the user could beallowed to override decisions, by resource mapping logic for instance,on which elements are assigned to which resources. The user can thenmanage the resource allocation manually. Any adjustments made by theuser could then be applied as attributes in a memory, timeline, or macroto guide resource mapping on subsequent recalls.

Although one possible implementation of a feedback display is on agraphical user interface, other feedback methods, devices, indicators orcontrols may also or instead be employed. Feedback of the system'sability to recall and the results of mapping decisions may also orinstead be communicated to a remote control device or automation system,thus allowing these systems to react appropriately, present usefulinformation, and/or allow an operator to manage the resource allocationmanually.

The resource mapping, and any manual modifications, along with anyelement locks and resource reservations are made available to a loggingsystem in some embodiments. Logs could be useful, for example, for theuser's information, or may be communicated to other equipment or systemsto allow them to adjust to the reallocation of resources in theswitcher.

Features associated with some aspects and embodiments of the inventionhave been described briefly above. Illustrative embodiments of theinvention implementing such features are described in more detail belowwith reference to the drawings. FIG. 2 is a block diagram of anapparatus and FIG. 3 is a flow diagram of a method according toembodiments of the invention.

The example apparatus 200 in FIG. 2 includes a logging module 202, adata store 204, one or more user interfaces 206, a resource mappingmodule 208, a memory recall module 210, one or more externalinterface(s) 212, a transition module 213, a timeline recall module 215,a macro recall module 217, resources 214, a preview display 216, apreview bus 218, a program bus 220, and an on air display 222, which areinterconnected as shown. It should be appreciated that the system ofFIG. 2, as well as the contents of the other drawings, are intendedsolely for illustrative purposes, and that the present invention is inno way limited to the particular example embodiments explicitly shown inthe drawings and described herein. Other embodiments may includefurther, fewer, and/or different components interconnected in a similaror different order. For example, although the apparatus 200 mightsupport both resource mapping and intelligent recall to preview aspectsof the invention, these aspects can potentially be implementedindependently of each other. There may also be other interconnectionsbetween components, as indicated for the user interface(s) 206 forinstance. Such interconnections may exist but have not been explicitlyshown in FIG. 2 in order to avoid overly complicating the drawing.

Those skilled in the art will be familiar with various options forimplementing at least some of the components shown in FIG. 2. Videoswitchers often incorporate some sort of storage device(s), such as aflash storage device and a hard drive, to provide a data store 204. Moregenerally, the data store 204 may be implemented using one or morestorage devices which use fixed, movable, or even removable storagemedia. User interface(s) 206, external interface(s) 212 for supportinginteraction with external components such as a remote control orautomation system, resources 214 such as video and/or audio processingelements, preview and program buses 218, 220, and preview and programdisplays 216, 222 are also common in video switchers. The userinterface(s) 206, for example, might include one or more of buttons,knobs, joysticks, keyboards, keypads, a pointing device such as a mouse,a touchscreen, and/or a Graphical User Interface (GUI) presented on adisplay device. Various examples of resources 214 that may be providedin a video switcher have been described above.

The logging module 202, the resource mapping module 208, any or all ofthe recall modules 210, 215, 217, and the transition module 213 may beimplemented, for example, in hardware, firmware, processing devicesexecuting software, or combinations thereof. Microprocessors,Application Specific Integrated Circuits (ASICs), Field ProgrammableGate Arrays (FPGAs), and Programmable Logic Devices (PLDs) are examplesof processing devices that could be used to execute software. In lightof their wide range of possible implementations, these components aredescribed in detail below primarily in terms of their functions, whichwould enable a skilled person to implement embodiments of the inventionin any of various ways.

The apparatus 200 shown in FIG. 2 contains a plurality of resources 214,including video and/or audio processing elements. In operation, the datastore 204 stores at least a resource state memory representing a stateof a resource. The memory may be created by a user by setting up theresource and creating the memory, using one of the memory controlinterfaces 144, 154, 160, 174 shown in FIG. 1, for example. The resourcemapping module 208 determines availability of the resource when theresource state memory is to be recalled from the data store 204,determines availability of another resource of the plurality ofresources where the resource is unavailable, and maps the state of theresource in the memory to the other resource where the resource isunavailable and the other resource is available. Determination ofavailability might involve the resource mapping module 208 interactingdirectly with the resources 214 or with the data store 204 or anotherdata store which stores resource availability or status information, forinstance.

One variation of this resource availability determination would involvethe resource mapping module 208 determining availability of theresources when the resource state memory is to be recalled from the datastore 204, and mapping the state of the resource in the memory toanother resource where the resource is unavailable and the otherresource is available.

Thus, in one possible implementation, the resource mapping module 208determines availability of a resource on which a memory was created anddetermines availability of other resources only if the original resourceis unavailable. According to the variation noted above, the resourcemapping module 208 determines the availability of multiple resourcesbefore mapping a state from a recalled memory to a resource.

Regarding availability, the resource mapping module 208 might determinethat a resource is unavailable where that resource is in use or on air,for example.

In some memories, there may be a layering priority associated with thestate of the resource in the memory, and in this case the resourcemapping module 208 sets a layering order of the other resource to matchthe layering order of the state of the resource in the memory where thestate of the resource in the memory is mapped to the other resource.

A video switcher, in which or in conjunction with which the apparatus200 is implemented, may include respective sets of different types ofvideo and audio processing elements or resources 214. For example,multiple keyers and multiple MLEs might be provided. The data store 204may then store resource state memories that represent states of resourceof one or more of the different types of resources. The resource mappingmodule 208 can dynamically map states of resources in the memories foreach type of resource of a set that includes multiple resources. In theexample of multiple keyers and multiple MLEs, the resource mappingmodule 208 can dynamically map a keyer state in a memory to an availableone of the keyers and an MLE state in a memory to an available one ofthe MLEs. Dynamic mapping of audio resource states to audio processingelements is also contemplated.

A further embodiment contemplates the ability for the resource mappingmodule 208 to sub-divide a state memory of a complex resource, such asan MLE for example, into a plurality of state memories for a pluralityof simpler resources, in a fashion where the program output would matchthat of the original complex state memory as mapped onto a complexresource.

The memory recall module 210 implements an intelligent recall to previewfunction. Thus, the memory recall module 210 recalls a memory such thatthe state of a resource in the memory is recalled to an availableresource, but that video or audio processing element remains off air. Inone embodiment, this involves recalling the state in the memory to thepreview bus 218 instead of to the program bus 220. A desired programoutput defined by the memory can thus be recreated on a preview outputof the video switcher, whereby a current program output of the videoswitcher is undisturbed when the resource state memory is recalled. Thetransition module 213 could then be configured by the resource mappingmodule 208 to preset the next transition to bring the recalled state tothe on air display 222 via the program bus 220.

In the case of a macro recalled by the macro recall module 217, thememory recall module 210 or the resource mapping module 208 couldprovide feedback to the macro recall module during execution of themacro by the resources 214, to adapt event execution to the availableresource where the state of the resource in the memory is mapped to adifferent resource for recall. Feedback of the remapping performed bythe resource mapping module 208 is provided to the macro recall module217 such that it is able to perform its functions upon the states of theremapped resources in subsequent macro events. For example, if theresource mapping module 208 remaps a state for key 1, as defined byeither a macro event or memory recall, into the key 2 resource, thisremapping is fed back to the macro recall module 217, such thatsubsequent macro events that may effect key 1 are subsequently remappedto key 2. Macros could be stored in the same data store 204 as effectsmemories, or in a different data store.

Resource mapping may also be applied to a timeline, in which case theresource state memory in the data store 204 is one of a plurality ofresource state memories representing keyframes of the timeline. Theresource mapping module 208 maps states in the resource state memoriesto available video and/or audio processing resources of the videoswitcher for each keyframe. Feedback of the remapping performed by theresource mapping module 208 is provided to the timeline recall module215 by the resource mapping module 208 itself or by the memory recallmodule 210. This allows the timeline recall module 215 to ensure thatsubsequent state memory keyframes are similarly remapped andinterpolation of state memories for a remapped resource occurs withinthe same remapped resource. For example, if the resource mapping module208 remaps a state within a keyframe for key 1 into the key 2 resource,this remapping is fed back to the timeline recall module 215, such thatsubsequent keyframes that may change the state of key 1 are subsequentlyremapped to key 2, allowing the state interpolation to be performed bythe timeline recall module on key 2. Timelines could be stored in thedata store 204 as in the example shown, or in a separate data store.

Feedback can similarly be provided to the transition module 213, by theresource mapping module 208 in the example shown.

One or more user interface(s) 206 may enable a user to reserve one ormore resources such that the resource mapping module 208 will not mapthe state of the resource(s) in a memory to the reserved one or moreresources, to lock a resource such that the state of the resource in thememory will always be recalled to that particular locked resource,and/or to override mapping of the state of a resource in a memory by theresource mapping module. Such user configurations as resourcereservation and/or resource locking could be configurable globally, forapplication to specific subsets of the video switcher, and/or as amemory attribute specific to a resource state memory.

The user interface(s) 206 may also or instead include a user interfacethat enables feedback regarding recall of the resource state memory tobe provided to the user. Such feedback could include, for example, oneor more of: an indication that the state of the resource in the memoryis mapped to another resource; an indication that the state of theresource could not be recalled; and an indication prior to recall of theresource state memory such that the user may preview the ability torecall the resource state memory.

A record of information regarding mapping of the state of resources in amemory may be useful for various purposes, and the logging module 202provides such information. The logging module 202 could also or insteadprovide information regarding reserved resources, locked resources, anduser override of resource mapping that is applied by the resourcemapping module 208. Such information could be provided, for example, toa logging system (not shown) which is part of the video switcher or anexternal system.

The memory recall module 210 has been described briefly above in thecontext of recalling a mapped memory state. More generally, the recallmodule 210 recalls a resource state memory, which represents respectivestates of one or more resources of a video switcher to create a desiredprogram output of the video switcher. According to an aspect of theinvention, the memory is recalled to recreate the desired program outputon a preview output of the video switcher, whereby a current programoutput of the video switcher is undisturbed when the resource statememory is recalled. In one embodiment, a transition control of thetransition module 213 enables a user to control an on air transitionfrom the current program output to the desired program output. Thememory could be recalled to the preview bus 218 and displayed on thepreview display 216, for example, and the transition control can be usedto transition the recalled memory to the program bus 220 and the on airdisplay 222. Examples of such a transition control include a button, afader handle, an interface enabling remote GPI, and an interfaceenabling remote automation. These interfaces could be provided as one ormore external interfaces 212.

In the case of a timeline, the resource state memory is one of aplurality of resource state memories representing keyframes, and thememory recall module 210 recalls the resource state memories to thevideo switcher for each keyframe. The timeline recall module 215interacts with the memory recall module 210 to control recall of thekeyframes in the correct sequence according to a recalled timeline.

In the case of a macro, the memory recall module 210 recalls theresource state memories to the video switcher as part of a macro event.The macro recall module 217, like the timeline recall module 215,interacts with the memory recall module 210 to control recall of amemory that is part of a macro event.

Other variations may be or become apparent to those skilled in the art.

Aspects of the present invention may also or instead be embodied inmethods. FIG. 3 is a flow diagram of one such method. The method 300involves storing a resource state memory at 302. The memory represents astate of a resource, illustratively a video or audio processing element,of a video switcher. In some embodiments, the video switcher has aplurality of the resources.

Availability of the resource is determined at 304 when the resourcestate memory is subsequently to be recalled. If the video switcherincludes more than one resource of the type for which the memory wascreated, availability of all of those resources could be determined at304. At 306, the state of the resource in the memory is mapped to anavailable resource which might be the same resource that was used tocreate the stored memory or another resource where the original resourceis unavailable and the other resource is available at the time ofrecall.

At 307, the mapping of resources is fed back, to the Memory RecallModule 210, the User Interface(s) 206, the timeline recall module 215,the transition module 213, and/or the macro recall module 217 (FIG. 2).

The memory is recalled to the mapped resource at 308, but might notnecessarily be brought to air at 310 until a transition control isoperated by a user or a next transition is automatically configured.According to the intelligent recall to preview aspect of the presentinvention, a memory is recalled to a video switcher to recreate adesired program output on a preview output of the video switcher, suchthat a current program output of the video switcher is undisturbed whenthe resource state memory is recalled.

The method 300 is intended solely for illustrative purposes, and otherembodiments may involve variations of this method. For example, theoperations shown in FIG. 3 could be repeated for multiple states and/orresources in a memory, and macro and/or timeline processing is alsocontemplated. In addition, since the intelligent recall to previewaspect of the present invention could be implemented independently ofthe resource mapping feature, the operations at 308 and 310 need notnecessarily be preceded by resource mapping, and feedback at 307 alsowould not be performed where there is no resource remapping. Furthervariations may be or become apparent to those skilled in the art, on thebasis of the foregoing apparatus description for instance. Thus, any orall of the functions described herein in the context of an apparatus maysimilarly be embodied in a method.

What has been described is merely illustrative of the application ofprinciples of embodiments of the invention. Other arrangements andmethods can be implemented by those skilled in the art without departingfrom the scope of the present invention.

For example, although described primarily in the context of apparatusand methods, other implementations of the invention are alsocontemplated, including an article of manufacture in the form of anon-transitory computer-readable storage medium storing instructions forexecution by a computer for instance.

We claim:
 1. An apparatus comprising: a data store for storing aresource state memory representing a state of a resource of a videoswitcher, the video switcher comprising a plurality of the resources,the state comprising a setting or configuration applied to the resource;and a resource mapping module that determines availability of theresource when the resource state memory is to be recalled from the datastore, and dynamically remaps the state of the resource in the memory toanother resource of the plurality of resources when the resource isunavailable and the other resource is available.
 2. The apparatus ofclaim 1, wherein the resource mapping module determines availability ofthe plurality of resources when the resource state memory is to berecalled from the data store.
 3. The apparatus of claim 1, wherein theresource mapping module determines that the resource is unavailable whenthe resource is in use or on air.
 4. The apparatus of claim 1, whereinthe resource mapping module further determines a layering priorityassociated with the state of the resource in the memory, and sets alayering order of the other resource to match the layering order of thestate of the resource in the memory when the state of the resource inthe memory is remapped to the other resource.
 5. The apparatus of claim1, wherein the plurality of resources comprises MLEs, keyers, wipegenerators, crosspoints, or other types of video and/or audio processingelements.
 6. The apparatus of claim 1, wherein the video switchercomprises respective sets of different types of resources, wherein thedata store is for storing resource state memories each representingstates of resources of one or more of the different types of resources,and wherein the resource mapping module dynamically remaps states ofresources in the memories for each type of resource of a set comprisingmultiple resources.
 7. The apparatus of claim 1, further comprising: amemory recall module, operatively coupled to the data store and to theresource mapping module, that recalls the resource state memory suchthat the state of the resource in the memory is recalled to an availableone of the plurality of resources, and the available one of theplurality of resources remains off air.
 8. The apparatus of claim 7,wherein the state of the resource in the memory is associated with adesired program output of the video switcher, and wherein the memoryrecall module recalls the resource state memory to recreate the desiredprogram output on a preview output of the video switcher, whereby acurrent program output of the video switcher is undisturbed when theresource state memory is recalled.
 9. The apparatus of claim 8, furthercomprising: a transition module, operatively coupled to the programoutput of the video switcher, that configures settings of the videoswitcher for a next transition in a manner that prepares the videoswitcher to transition the recalled resource state memory to the programoutput.
 10. The apparatus of claim 1, further comprising: a memoryrecall module, operatively coupled to the data store and to the resourcemapping module, that recalls the resource state memory; and a macrorecall module, operatively coupled to the resource mapping module and tothe memory recall module, that recalls a macro, wherein the resourcemapping module or the memory recall module provides feedback to themacro recall module during execution of the macro to adapt execution ofevents in the macro, which are associated with the resource, to theother resource when the state of the resource in the memory is remappedto the other resource.
 11. The apparatus of claim 1, wherein theresource state memory comprises one of a plurality of resource statememories representing keyframes of a timeline, and wherein the resourcemapping module remaps states in the memories to available resources ofthe video switcher for each keyframe.
 12. The apparatus of claim 11,further comprising: a memory recall module, operatively coupled to thedata store and to the resource mapping module, that recalls theplurality of resource state memories; and a timeline recall module,operatively coupled to the resource mapping module and to the memoryrecall module, that recalls the timeline, wherein the resource mappingmodule or the memory recall module provides feedback to the timelinerecall module to adapt execution of events and recall of subsequentkeyframes in the timeline, which are associated with particularresources, to the available resources.
 13. The apparatus of claim 11,wherein reservation of the one or more resources and/or locking of theresource are configurable globally, for application to specific subsetsof the video switcher, and/or as a memory attribute specific to theresource state memory.
 14. The apparatus of claim 1, further comprising:a user interface that enables a user to: reserve one or more resourcesof the plurality of resources, the one or more reserved resources beingunavailable for remapping by the resource mapping module, lock theresource such that the state of the resource in the memory is recalledonly to the resource, and/or override remapping of the state of theresource in the memory by the resource mapping module.
 15. The apparatusof claim 14, further comprising: a logging module that providesinformation regarding any or all of: mapping of the state of theresource in the memory, the one or more reserved resources, locking ofthe resource, and user override of remapping of the state of theresource in the memory by the resource mapping module.
 16. The apparatusof claim 1, further comprising: an external interface that enablesfeedback regarding ability of the video switcher to recall the resourcestate memory and results of remapping decisions to be provided to one ormore of: a remote control system and an automation system.
 17. Theapparatus of claim 1, further comprising: a user interface that enablesfeedback regarding recall of the resource state memory to be provided toa user, wherein the feedback comprises one or more of: an indicationthat the state of the resource in the memory is remapped to the otherresource; an indication that the state of the resource could not berecalled; and an indication, prior to recall of the resource statememory, of the ability to recall the resource state memory.
 18. Theapparatus of claim 1, further comprising: a logging module that providesinformation regarding the dynamic remapping of the state of the resourcein the memory to the other resource.
 19. The apparatus of claim 1,wherein the video switcher is a video production switcher, a mastercontrol switcher, or stand-alone keyer.
 20. The apparatus of claim 1,wherein the resource mapping module sub-divides the resource statememory into a plurality of resource state memories for multipleresources.
 21. The apparatus of claim 1, wherein the state of theresource in the memory is associated with a desired program output ofthe video switcher, the apparatus further comprising: a memory recallmodule that recalls the resource state memory to the video switcher torecreate the desired program output on a preview output of the videoswitcher, whereby a current program output of the video switcher isundisturbed when the resource state memory is recalled.
 22. Theapparatus of claim 21, wherein the video switcher comprises a transitioncontrol that enables a user to control an on air transition from thecurrent program output to the desired program output.
 23. The apparatusof claim 22, wherein the transition control comprises one or more of: abutton, a fader handle, an interface enabling remote GPI, and aninterface enabling remote automation.
 24. The apparatus of claim 21,wherein the resource state memory comprises one of a plurality ofresource state memories representing keyframes of a timeline, andwherein the memory recall module recalls the memories to the videoswitcher for each keyframe.
 25. The apparatus of claim 21, furthercomprising: a transition module, operatively coupled to the programoutput of the video switcher, that configures settings of the videoswitcher for a next transition in a manner that prepares the videoswitcher to transition the recalled resource state memory to the programoutput.
 26. A method comprising: storing a resource state memoryrepresenting a state of a resource of a video switcher, the videoswitcher comprising a plurality of the resources, the state comprising asetting or configuration applied to the resource; determiningavailability of the resource when the resource state memory is to berecalled; and dynamically remapping the state of the resource in thememory to another resource of the plurality of resources when theresource is unavailable and the other resource is available.
 27. Themethod of claim 26, further comprising: determining availability of theplurality of resources when the resource state memory is to be recalled.28. The method of claim 26, wherein the resource state memory comprisesone of a plurality of resource state memories representing keyframes ofa timeline, and wherein dynamically remapping comprises dynamicallyremapping states in the memories to available resources of the videoswitcher for each keyframe.
 29. The method of claim 28, furthercomprising: providing feedback to adapt execution of events and recallof subsequent keyframes in the timeline, which are associated withparticular resources, to the available resources.
 30. The method ofclaim 26, further comprising: providing a user interface that enables auser to: reserve one or more resources of the plurality of resources,the one or more reserved resources being unavailable for remapping, lockthe resource such that the state of the resource in the memory isrecalled only to the resource, and/or override remapping of the state ofthe resource in the memory.
 31. The method of claim 26, furthercomprising: providing feedback regarding recall of the resource statememory to a user, wherein the feedback comprises one or more of: anindication that the state of the resource in the memory is dynamicallyremapped to the other resource; an indication that the state of theresource could not be recalled; and an indication, prior to recall ofthe resource state memory, of the ability to recall the resource statememory.
 32. A non-transitory computer-readable storage medium storinginstructions which, when executed by a computer, cause the computer toperform the method of claim
 26. 33. The method of claim 26, wherein thestate of the resource in the memory is associated with a desired programoutput of the video switcher, the method further comprising: recallingthe resource state memory to the video switcher to recreate the desiredprogram output on a preview output of the video switcher, whereby acurrent program output of the video switcher is undisturbed when theresource state memory is recalled.
 34. The method of claim 33, furthercomprising: configuring settings of the video switcher for a nexttransition in a manner that prepares the video switcher to transitionthe recalled resource state memory to the program output.
 35. Anon-transitory computer-readable storage medium storing instructionswhich, when executed by a computer, cause the computer to perform themethod of claim 33.